直接上代码
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>
#include <string.h>
#include <sys/wait.h>
int main(int argc, char const *argv[])
{
pid_t c1 = fork();
if(c1 == 0) //child1
{
printf("[%d] : child1\n", getpid());
sleep(200);
}
else if(c1 > 0) //parent
{
printf("[%d] : parent\n", getpid());
pid_t c2 = fork();
if(c2 == 0) //child2
{
printf("[%d] : child2\n", getpid());
sleep(200);
}
else if(c2 > 0) //parent
{
printf("[%d] : parent\n", getpid());
int status;
wait(&status);
}
}
return 0;
}
执行 ps -aux | grep a.out 即可看到主进程和两个子进程(a.out:默认的编译后可执行文件名)